From 746900680c20cbfa285852e718690649b7651dbc Mon Sep 17 00:00:00 2001 From: Ewan Mellor Date: Thu, 15 Mar 2007 21:59:34 +0000 Subject: [PATCH] Added a new Xen-API call VM.send_sysrq, and use that to implement xm sysrq through Xen-API. Signed-off-by: Tom Wilkie --- tools/python/xen/xend/XendAPI.py | 7 +++++++ tools/python/xen/xm/main.py | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/tools/python/xen/xend/XendAPI.py b/tools/python/xen/xend/XendAPI.py index 7d3e29e693..10024070a9 100644 --- a/tools/python/xen/xend/XendAPI.py +++ b/tools/python/xen/xend/XendAPI.py @@ -1070,6 +1070,7 @@ class XendAPI(object): ('hard_reboot', None), ('suspend', None), ('resume', None), + ('send_sysrq', None), ('add_to_HVM_boot_params', None), ('remove_from_HVM_boot_params', None), ('add_to_VCPUs_params', None), @@ -1513,6 +1514,12 @@ class XendAPI(object): return XendTask.log_progress(0, 100, do_vm_func, "domain_unpause", vm_ref) + def VM_send_sysrq(self, _, vm_ref, req): + xendom = XendDomain.instance() + xeninfo = xendom.get_vm_by_uuid(vm_ref) + xeninfo.send_sysrq(req) + return xen_api_success_void() + # Xen API: Class VM_metrics # ---------------------------------------------------------------- diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py index 5003ef16fe..ba1192e6c4 100644 --- a/tools/python/xen/xm/main.py +++ b/tools/python/xen/xm/main.py @@ -1466,7 +1466,10 @@ def xm_sysrq(args): arg_check(args, "sysrq", 2) dom = args[0] req = args[1] - server.xend.domain.send_sysrq(dom, req) + if serverType == SERVER_XEN_API: + server.xenapi.VM.send_sysrq(get_single_vm(dom), req) + else: + server.xend.domain.send_sysrq(dom, req) def xm_trigger(args): vcpu = 0 -- 2.30.2